home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 726-750 / 729 / bbbbs / bbbbs54.lzh / Information / BBBBS.DOC < prev    next >
Text File  |  1992-07-26  |  33KB  |  821 lines

  1.                              26 July 1992
  2.  
  3.     BBBBS - Baud Bandit Bulletin Board System for the Amiga - BBBBS
  4.  
  5.  
  6. *****************************  Features  *****************************
  7.  
  8. Up to 99 file libraries with extended filenotes.
  9. Up to 99 fully threaded message conferences.
  10. Number of users, files, messages, etc. are only limited by storage space.
  11. Controlled file library and message conference access for users & sysops.
  12. Interface to extra devices like CD-ROM & others, all treated as Read-Only.
  13. Complete Email area including binary mail, and multiple forwarding.
  14. User statistics including messages written, files ul/dled, time, etc.
  15. RexxDoors sub-area, Grin_du_Jour, StarTrek, Wheel_Of_Fortune, much more!
  16. Searches: Search users, file descriptions, or messages.
  17. Online Text Editor: with Cut and Paste, Replace, and Spellchecking.
  18. Separate multi-tasking module for local sysop logon.
  19. User profiles, Polling_Place (a voting booth), background archiving.
  20.  
  21.  
  22.  
  23. *****************************  Contents  ****************************
  24.  
  25.  1. Copyright and Distribution Information
  26.  
  27.  2. Requirements
  28.  
  29.  3. Organization
  30.  
  31.  4. Setting Up
  32.  
  33.  5. User data
  34.  
  35.  6. bbsLOCAL.rexx
  36.  
  37.  7. Macros
  38.  
  39.  8. rexxDoors
  40.  
  41.  9. Additional Notes
  42.  
  43.       a. RexxSpell
  44.  
  45.       b. FileLists 
  46.  
  47.       c. Links
  48.  
  49.       d. Birthdays
  50.  
  51.  
  52. ********************  Copyrights and Distribution  ********************
  53.  
  54. The ARexx modules in BBBBS are copyright 1990-91-92 Richard Lee Stockton,
  55. and ALL RIGHTS ARE RESERVED. In particular, commercial use of these
  56. programs requires a written agreement with the author. HOWEVER, these
  57. files may be freely distributed and used for non-commercial purposes
  58. AS LONG AS the copyright notices contained within the code remain intact.
  59.  
  60. To contact me for distribution or just more information:
  61.  
  62.                 Richard Lee Stockton
  63.                 21305 60th Ave West
  64.                 Mountlake Terrace, WA 98043-2009
  65.                 
  66.                 Phones:
  67.                 voice = 206-776-1253
  68.                 FAX   = 206-775-7573
  69.                 BBS   = 206-744-1254
  70.                 
  71.                 Telecomm:
  72.                 call the BBS number above and leave a [C]omment to sysop.
  73.                 - OR - send Email to RLStockton on PORTAL or BIX or GENIE
  74.                 - OR - (if you MUST), my Compu-$erve address is 71650,424
  75.  
  76.  
  77.  
  78. ******************   Requirements for operation   ************************
  79.  
  80. BBBBS Requirements:    Assumes standard 1.3 or 2.0 Amiga OS
  81.  
  82. RAM: ~2.5 MEGS of RAM to run. 2.0 MEG without spellchecking.
  83.  
  84. Commercial Software:
  85. (I have *nothing* to do with these, except for using them.)
  86.   BaudBandit  1.50 - $50 retail, ~$30 discounted
  87.   ARexx       1.15 - $50 retail, ~$30 discounted
  88.  
  89.  
  90. Freely Distributable Software:
  91. (comes with BBBBS or are easily found in the PD)
  92.   BBBBS.LZH
  93.     rexx  (must be in your rexx: drawer)
  94.       Answer.baud
  95.       ArcBrowse.rexx
  96.       ArcMsgs.rexx
  97.       baud.rexx
  98.       bbsALPHA.rexx
  99.       BBBBS.baud
  100.       BBBBSdemon.baud
  101.       bbsExtDL.baud
  102.       bbsHOURLY.rexx
  103.       bbsLOCAL.rexx
  104.       bbsMAINT.baud
  105.       bbsNewFile.rexx
  106.       bbsREPORT.rexx
  107.       bbsULDL.rexx
  108.       bbsUSER.rexx
  109.       BuildALPHA.rexx
  110.       BumpLevel.baud
  111.       BumpMember.baud
  112.       BumpTime.baud
  113.       ChangeUserName.rexx
  114.       Contents.rexx
  115.       doorDemon.baud
  116.       EditUsers.rexx
  117.       ForceChat.baud
  118.       Make_BrowseList.baud
  119.       OldEMail.rexx
  120.       Setup.rexx
  121.       ShowFKeys.baud
  122.       ShowLog.baud
  123.  
  124.     rexxDoors  (these are needed for opening and closing cookie, etc.)
  125.       Data (DIR)
  126.         Grins
  127.       Grin_du_jour.rexx
  128.       Moon.rexx
  129.       Time.rexx
  130.  
  131.  
  132.   libraries (must be in your system Libs: drawer)
  133.     arp.library           (VERS 39.1  by CHeath & others on bbs everywhere)
  134.     rexxarplib.library    (VERS  3.0  by Willy Langeveld on bbs everywhere)
  135.     screenshare.library   (VERS  1.52 comes with rexxarplib)
  136.     rexxmathlib.library   (VERS  1.3  by Willy Langeveld on bbs everywhere)
  137.     rexxsupport.library   (VERS 34.9  comes with ARexx 1.15)
  138.     rexxsyslib.library    (VERS 36.23 comes with ARexx 1.15)
  139.  
  140.   commands (must be in your system C: drawer
  141.     QuickSort             (by Marvin Weinstein - ARexxQSort.lzh)
  142.     sound                 (by RLStockton, needed to play BBS Yell.snd)
  143.     boot                  (optional: warm-boots if BBBBS seems frozen)
  144.     lha                   (freely distributable de-archivers...)
  145.     arc
  146.     zoo
  147.     unzip
  148.     dms
  149.  
  150.  
  151. **************************  Organization  **********************************
  152.  
  153. BBS:
  154.  
  155.   BBBBS looks in your s: directory for the file "CONFIG.BBS" which sets all
  156.     preferences including the device where the BBS files are located.
  157.   Within this device, the BBS may use 99 file & 99 message directories.
  158.   Users may be given access levels between 0 (new user) and 99 (super-sysop).
  159.   The lowest sysop level (gets to edit filenotes, maybe edit messages
  160.     depending on level) defaults to 80. Level 99 (and only level 99!) is
  161.     allowed to open a remote Shell and the power to edit ANY file remotely.
  162.   Uload/Dload access to libraries & conferences at or below the user's level.
  163.   Also, a sysop may exclude certain directories from the user's use.
  164.     (file libraries by name, or message conferences by number)
  165.  
  166.  
  167. BBS System File Directories:
  168.  
  169. 'Sysops'       = Holds files for sysop review.
  170.  
  171. 'Information'  = User viewable files. 'I' from the Main Menu.
  172.  
  173. 'Scratch'      = temporary editor files, etc. For debugging.
  174.  
  175. 'BBS_HELP'     = Command summary files, according to level.
  176.  
  177. 'rexxDoors'    = rexx doorway programs
  178.                   Grin_du_Jour.rexx      = 'one-liner' humor
  179.                   Moon.rexx              = the phase of the moon
  180.                   Time.rexx              = the time in words
  181.  
  182.                   rexxDoors/Data/Grins   = data for 'Grin_du_Jour.rexx'
  183.  
  184.                   ...other rexxDoors available in "BBBBSDoors.lha"
  185.  
  186.  
  187. 'BBS_TEXT'     = Text (mostly) files used by the BBS.
  188.                   HELLO          = Sign on message. (19 lines max!)
  189.                   NEW            = New user welcome message.
  190.                   YELL.snd       = (optional) Yell-For-Sysop sound.
  191.                   YELL           = (optional) Yell voice script.
  192.                   WELCOME        = default welcome message
  193.                   WELCOME.Mon, WELCOME.Tue, ..., WELCOME.Sun
  194.                                  = Daily Welcome messages.
  195.                   WELCOME.1225   = Christmas welcome msg., etc.
  196.                   UNTIL.19920201 = displays at logon until Feb 1, 1992
  197.                   GOODBYE        = Logoff message. (local BBS numbers)
  198.                   DEF.NEW_USER   = new user defaults
  199.                   DEF.MEMBER     = member defaults
  200.                   DEF.COURTESY   = courtesy list defaults
  201.                   BIRTHDAY       = displays on user's birthday
  202.                   PROFILES       = intro message to user profiles area.
  203.  
  204. 'FileNotes'    = A dir of dirs. Each dir corresponding to a
  205.                   file library. Within each, a file desciption
  206.                   of the corresponding file in the library.
  207.                   Written by BBBBS.baud, but editable.
  208.  
  209. 'BBS_LIBS'     = Up to 99 file libraries. You select the names of
  210.                   these by editing the file 'BBS:Lists/Libraries'.
  211.                   The BBS sees them by name.
  212.                                 
  213. 'BBS_MSGS'     = Up to 99 message conferences. You select the
  214.                   names of these by editing the file
  215.                   'BBS:Lists/Conferences', but the BBS sees
  216.                   them as MSG1 thru MSG99.
  217.  
  218. 'Lists'        = System lists and lists needed by bbsREXX.
  219.                   Libraries    = see example for proper format
  220.                   Conferences  = see example for proper format
  221.                   Files        = THIS FILE IS WRITTEN BY BBBBS.baud.
  222.                    Under normal circumstances it should NOT be edited
  223.                    by humans.   format: 'filenum dirname filename'
  224.                   Files.ALPHA  = written by BBBBS.baud
  225.                   Courtesy     = List of VIP usernames. A new
  226.                    user on this list is given immediate access.
  227.                    That name is then removed from this list.
  228.                   Excuses      = list of randomly selected reasons why
  229.                    the sysop cannot CHAT right now.
  230.  
  231. *** Following dirs contain files written by BBBBS.baud. DO NOT EDIT! ***
  232.  
  233. 'Numbers'      = LastFile, LastMail, LastMessage1, etc.
  234.                  Also a dir called "Hourly" that contains data
  235.                   for the "average minutes of use per hour" graph.
  236.  
  237. 'Usage'        = Monthly files. Counts hours of modem usage.
  238.  
  239. 'Logs'         = Daily files. Tracks user, time, mail or message activity,
  240.                   uloads/dloads, internal errors, etc.
  241.                   Built in 'log-reader' for sysops.
  242.  
  243. 'EMailFiles'   = Private files left attached to EMail.
  244.  
  245. 'EMail'        = Private mail between users.
  246.  
  247. 'Users'        = User files.
  248.  
  249.  
  250.  
  251. ***************************  Setting Up  *****************************
  252.  
  253. Follow these steps to set up your own BBS..
  254.  
  255. 1. Do Initial Setup  (assumes that bbspath is "BBS:")
  256.  
  257.       a. CD to BBS:            ; the directory to de-lharc the bbs into
  258.  
  259.       b. Lha x BBBBSnn.lha     ; extract respecting original paths
  260.  
  261.       c. COPY BBS:rexx/QuickSort C:    ; ARexx QuickSort
  262.  
  263.       d. COPY BBS:S/#? S:      ; CONFIG.BBS, Bandit.Keys, Bandit.Config
  264.  
  265.       e. COPY BBS:rexx/#? REXX:  ; NOTE: 250K of rexx programs!
  266.  
  267. 2. Make sure that "C:DATE" returns the correct time and date. The BBS
  268. needs to know the correct time and date for many of its routines.
  269.  
  270. 3. Use a Text editor to edit the following lists. These lists can be
  271. changed or edited anytime. The libraries may be re-ordered at any time,
  272. but the message conferences can only be added to, not re-shuffled. That
  273. is, once you associate a message conference title with its number, and
  274. messages are actually written to that conference, you MUST keep that same
  275. number associated with that conference title. (This is because messages
  276. are kept in MSG1, MSG2, etc. while files are kept in directories created
  277. with the title that YOU give it.  Note: No spaces are allowed in titles).
  278. You may change the CONFERENCE title, but the old messages in that
  279. conference will still refer to the old title. It is possible to change
  280. a LIBRARY title, but you also have to rename the directory, and update
  281. all references to the old dir (which can be quite a few!), so I advise
  282. against it.  Use care in all title selections and save yourself future
  283. problems with re-naming.
  284.  
  285.      a. BBS:Lists/Conferences    (message conference names)
  286.  
  287.      b. BBS:Lists/Libraries    (file library names)
  288.  
  289. Note: If you wish to review uploaded files before public posting, you need
  290.       to be certain that the highest possible non-sysop directory is called
  291.       "Sysops", as this is where new uploads will be saved.
  292.  
  293.      c. BBS:Lists/Courtesy   (these names receive INSTANT validation)
  294.  
  295.      d. BBS:Lists/Excuses  (good reasons why the sysop can't chat right now)
  296.  
  297. 4. Use a Text editor to edit "S:CONFIG.BBS" to your preferences.
  298. IMPORTANT! Test your "c:info" from the CLI with your "info-compatible"
  299. device name to make sure that the blocks free amount is being returned.
  300. See BBS_TEXT/CONFIG.BBS for line by line a description of the options.
  301. Note that if line 30 of the config is 1, the BBS stays "up" all the time,
  302. which means the CONFIG.BBS and the various Lists are not reloaded each
  303. call. DO NOT change the file libraries using bbsLOCAL.rexx while the BBS
  304. is in resident mode as this will confuse the BBS and files will be lost.
  305. To exit resident, use SHIFT-F2 from BaudBandit to setclip BBS_QUIT=QUIT.
  306. It may take up to two minutes for BBBBS to notice that it is supposed to
  307. unload before it will actually halt the rexx process. Watch for the blue
  308. dot to disappear from the upper right part of the BaudBandit titlebar.
  309.  
  310. If you want the default sysop name to be something other than "SYSOP":
  311.   a. The name should be in all caps with the "_" character substituted for
  312.        spaces. (ie, RICHARD_LEE_STOCKTON).
  313.   b. Then, put "SYSOP" in the exclusion list to "forward" all requests
  314.        for "SYSOP" to your sysop name.
  315.   c. Finally, REName BBS:Users/SYSOP BBS:Users/<your sysop name>
  316.  
  317. 5. Use the Text editor on the following textfiles to be read by the user.
  318.  
  319.     a. BBS:BBS_TEXT/HELLO     /* this is the title message */
  320.  
  321.     b. BBS:BBS_TEXT/NEW       /* message to new users */
  322.  
  323.     c. BBS:BBS_TEXT/WELCOME   /* once-a-day welcome to users */
  324.  
  325.     d. BBS:BBS_TEXT/GOODBYE   /* last thing the user sees */
  326.     
  327.     e. BBS:Information/SYSTEM_INFO   /* what Amiga model, OS, etc */
  328.  
  329. 6. You may also wish to edit the default user files in the BBS_TEXT drawer,
  330.     but I suggest leaving them alone until you gain a better understanding
  331.     of the BBS system.
  332.  
  333.     a. DEF.NEW_USER   /* all lines are used */
  334.  
  335.     b. DEF.COURTESY   /* all lines are used */
  336.  
  337.     c. DEF.MEMBER     /* ONLY time, level, and exclude_dirs are used */
  338.  
  339. 7. Start the LOCAL BBS by typing  "rx bbsLOCAL SETUP". Enter "sysop"
  340. (or the name you changed it to) when asked to enter your name, then
  341. enter "password" when asked for a password. This will construct the
  342. directories you specified in BBS:Lists/Libraries, (if they don't already
  343. exist).. likewise, the message conferences will be constructed, if needed.
  344. You will then enter the bbs _AS IF_ it were running from the modem,
  345. although Baud Bandit is not needed at all.
  346.  
  347. 8. Select "Y" to edit your personal data. CHANGE YOUR PASSWORD!!
  348.  
  349. 9. Read the BBBBS.COMMANDS file in [I]nformation for general command
  350. information, and take a look around the board. Try out some things a
  351. user would try.
  352.  
  353. 10. Use "G" to logoff which will rewrite your user file.
  354.  
  355. 11. Start BaudBandit. Check BB's Macro display. The important thing
  356. here is to make sure that "\mAnswer.baud" is in "RING" portion of BB's
  357. configuration.
  358.   2400 baud operation:
  359.     Handshake should be set to "NONE" (otherwise CTRL-S can hang the BBS).
  360.     AutoBaud should be set to "ON" and the baud rate to the same value
  361.      you have set in BBS:BBS/CONFIG as the Maximum baudrate.
  362.   9600 baud operation:
  363.     Handshake should be set to "7-Wire".
  364.     AutoBaud should be set to "OFF" and the baud rate set to the maximum
  365.      "terminal-to-modem" baudrate (19200 max for less than 68020 cpu).
  366.     I have used Practical Peripherals modems and the setup strings are:
  367.        9600SA    AT &F M0 &C1 &D3 S95=47 &W
  368.       14400FXSA  AT &F M0 W1 &C1 &D3 &T5 S37=11 S95=47 S118=2 &W
  369.  
  370.         &F      = factory defaults
  371.          M0     = turn speaker off  [optional]
  372.          W1     = enable progress messages
  373.         &C1     = track DCD
  374.         &D3     = monitor DTR and reset to power up conditions
  375.         &T5     = disable remote testing  [optional]
  376.          S37=11 = highest modem to modem rate is 14400
  377.          S95=47 = all progress messages and modem-modem speed report
  378.          S118=2 = LCD display 2 seconds per line of info.  [optional]
  379.         &W      = save to modem RAM so ATZ will recall these settings
  380.   
  381.      These may or may not work for you, but at least it's a place to start.
  382.      Note that you only have to give this command once, then the "ATZ"s
  383.       that BBBBS sends will reset your modem to this default.
  384.  
  385. There are Bandit.Config files provided for both 9600/14400 and 2400.
  386. If you make any changes remember to save them.
  387.  
  388. NOTE! Your modem MUST be set so that you can see verbose responses from
  389. your modem on your BB screen (ie, RING, CONNECT 9600/ARQ (or whatever),
  390. NO CARRIER, OK, etc). The baudrates reported by the modem should be the
  391. modem-to-modem baudrate. Correct BBS operation depends on these messages.
  392.  
  393. 12. If you have RAM to spare, give yourself a large capture buffer in
  394. BaudBandit, especially if you will be debugging. You can use BB's
  395. review buffer to study what the user did, in what order, and what
  396. happened. I have mine set to about 150k..
  397.  
  398. 13. To set up the BBS to start automatically in the background, add
  399. these lines to your startup-sequence:
  400. (assumes that BaudBandit is in the BBS: drawer)
  401.  
  402.     rx setup
  403.     BBS:BB
  404.     WaitForPort BAUD
  405.     ;rx Baud OFF  ; uncomment this line to close BB's screen after startup
  406.     run rx "ADDRESS BAUD;Send '\mBBBBS.baud'"
  407.  
  408. 14. Wait for callers, and soon become beloved sysop to billions of users...
  409.  
  410.  
  411.  
  412. *********************  User data file  ***************************
  413.  
  414.  1. name:
  415.  2. street:
  416.  3. city, st zip:
  417.  4. phone:
  418.  5. password:  (only visible by user and super-sysop)
  419.  6. protocol:
  420.  7. lines per page:
  421.  8. preferences:   may include MENU or MENUS, COLOR, STREET, PHONE
  422.  9. Computer:
  423. 10. Interests:
  424. 11.     Time: <nn> minutes <nn> more times today
  425. 12. first date on: datestamp  timestamp
  426. 13.  last date on: datestamp  timestamp
  427. 14.   upload: <nn> files <nn> bytes  day month year
  428. 15. download: <nn> files <nn> bytes  day month year
  429. 16. lastfile: lastfile  datestamp  timestamp
  430. 17. rtio/eml: dl/ul_ratio  email_written  last_email_read_(sysop_only)
  431. 18. winnings: <nn>
  432. 19.  time on: <nn> days <nn> hours <nn> minutes in <nn> calls.
  433. 20.    level: <nn>
  434. 21. exclude directories list:     (only viewable/editable by sysops)
  435. 22. msg_read: MSG1 MSG2 MSG3 ... MSG<last> (-1 in MSGslot = conference OFF)
  436. 23. msg_writ: MSG1 etc.
  437. 24. msg_mark: MSGdirnum/MSGnum MSGdirnum/MSGnum... (conf msgs TO this user)
  438. 25. used to temporarily store filelist to be downloaded.
  439.  
  440. Default data for New Users is stored in BBS_TEXT/DEF.NEW_USER
  441. Default data for Courtesy List Users is stored in BBS_TEXT/DEF.COURTESY
  442. Only lines 6-22 of these files are used, the rest are ignored.
  443.  
  444. Default data for Members is stored in BBS_TEXT/DEF.MEMBER
  445. Only lines 11, 20, 21 and 22 of this file is used, the rest are ignored.
  446.  
  447.  
  448. **********************  bbsLOCAL.rexx  ***************************
  449.  
  450. This is a multi-tasking (within limits, see below) rexx program that
  451. you as the sysop may run from a Shell or CLI. In most ways it is just
  452. like the regular BBS program, so you see what your users see. However,
  453. it is not connected to BaudBandit in any way, and in fact, does not
  454. use the serial port (or your modem) at all. Upload and download functions
  455. are transmuted into copy (with the arp requester), and some functions
  456. are left out (like the check for DCD, etc.).  It DOES look at the same
  457. data that BBBBS.baud looks at, and reasonable care must be taken not
  458. to add files to the file libraries while a user is also adding a file
  459. to the libraries. Likewise, don't write EMail while the user is writing
  460. email, and don't write messages while the user is writing messages IN
  461. THE SAME CONFERENCE (messages CAN be written in different conference at
  462. the same time, one by user, one by sysop).
  463.  
  464.          CLI> rx bbsLOCAL SETUP
  465.  
  466. Whenever you have made changes to the CONFIG.BBS file, it's a good idea
  467. to run bbsLOCAL with the SETUP option. This will check your list of dirs
  468. for libraries and conferences, and MakeDir any that don't yet exist.
  469.  
  470.  
  471. Copying Files Direct Into the Libraries:
  472.  
  473. METHOD 1:
  474.      Run bbsLOCAL and use the Upload command. The arp file requester
  475. will appear so you can copy the files into the correct libraries. After
  476. the copy, you will enter a note just as if you uploaded the file, and
  477. the system filelists will be updated.
  478.  
  479. METHOD 2:
  480.     First copy the files to the correct libraries. Then run bbsLOCAL
  481. (or call) and edit (in this case, create) the file description using
  482. the "%" sysop command.
  483.  
  484. In either case, when BBBBS sees that this note has been created,
  485. it adds the file to the other system filelists, and increments the
  486. count in "Numbers/LastFile".
  487.  
  488.  
  489.  
  490. *************************  Macros  *******************************
  491.  
  492. Note that if called from BB with a user online, these macros will not
  493. take effect if the user is waiting at a menu. You can press return
  494. yourself to force the macro if it looks like the user is sleeping
  495.  
  496.  - Function Keys -
  497.  
  498. F1 - ForceChat.baud - Forces user into chat at next prompt.
  499.  
  500. F2 - Twit.baud - TWIT-KEY, forces logoff of current user at next prompt.
  501.  
  502. F3 - BumpTime.baud - Opens a requester allowing you to set this users
  503.        maximum time in minutes for this session. It will take effect at
  504.        the next prompt. This is a temporary change, this session only.
  505.  
  506. F4 - BumpMember.baud - Member values are taken from "BBS_TEXT/DEF.MEMBER".
  507.        Takes effect at the next prompt. This change is saved to the users
  508.        data file. It is permanent.
  509.  
  510. F5 - BumpLevels.baud - Opens a requester allowing you to set the level and/or
  511.        upload to download ration for this user. It will take effect at the
  512.        next prompt. This change is permanently saved to the users data file.
  513.  
  514. F6 - Close Function Key Help Window
  515.  
  516. F7 - ShowLog.baud - Displays today's log on BB's screen, BBS running or not.
  517.  
  518. F8 - An inline macro to fetch the clip "BBS_totalusage" and display monthly
  519.        usage in hours and minutes.
  520.  
  521. F9 - Baud.rexx OFF - Turns BaudBandit's screen off (improves speed). While
  522.        the screen is off THE CAPTURE BUFFER STAYS OPEN! This means you can
  523.        leave the screen off for fastest response, then, when the modem tells
  524.        you the user has logged off, turn the screen on again (from CLI
  525.        "rx Baud") and read the review buffer (SHIFT-HELP).
  526.  
  527. F10 - Opens a Function Key Help Screen on BaudBandits screen.  F6 to close.
  528.  
  529.  
  530.  - SHIFTED Function keys -
  531.  
  532. S1 - Starts up BBBBS.baud.
  533.          WARNING! Don't start BBBBS while it is already running in this BB!
  534.  
  535. S2 - Sets the "UnLoad" flag.
  536.        BBBBS will exit after the current call, or within 60 seconds.
  537.  
  538. S3 - UnSets the UnLoad flag (in case you change your mind)
  539.  
  540. S4 - Sets the Maintenance flag.
  541.       BBBBS.baud or Answer.baud will answer the phone, give a "Sorry, busy!"
  542.       message, and hang up.
  543.  
  544. S5 - UnSets the Maintenance flag.
  545.  
  546. S6 - Set the modem "off-hook". Users see busy signal.
  547.  
  548. S7 - Reset modem to "on-hook" (hangup).
  549.  
  550. S8 - Run BBBBSdemon.baud.
  551.  
  552. S9 - Display total RAM available on the screen, chip+fast.
  553.  
  554. S10 - Enter message to be sent to current user at first opportunity.
  555.  
  556.  
  557.  
  558.                      ---  Other Macros  ---
  559.  
  560. rexx:BuildALPHA.rexx - rebuilds the file & alpha lists from the ground up.
  561.    BBBBS should preferably not be running so that a user won't upload in
  562.     the middle of your rebuild and overwrite the list. This macro sets
  563.     some clips that force BaudBandit to unload BBBBS and give a "busy"
  564.     message to any caller. After buildALPHA.rexx is finished, press
  565.     SHIFT-F1 to start loading BBBBS.baud, or let the first user trigger
  566.     the load.
  567.     BuildALPHA.rexx may take a while. 1400 files=15 mins on 68000 Amiga.
  568.  
  569. rexx:bbsULDL.rexx - Reads the CURRENT file library descriptions and writes
  570.    statistics to "Information/STATS.ULDL". This will happen automatically
  571.    once a day if STATS.ULDL exists! To disable this function, just delete
  572.    "Information/STATS.ULDL".
  573.  
  574. rexx:bbsUSER.rexx - Reads the CURRENT userfiles and writes statistics to
  575.    "Information/STATS.USER". This will happen automatically once a day
  576.    if STATS.USER exists! To disable this function, just delete the file
  577.    "Information/STATS.USER".
  578.  
  579. ChangeUserName.rexx - To change the user name HACK_MASTER", from a CLI
  580.     enter "rx ChangeUserName HACK_MASTER". Just press return to use his/her
  581.     real name, or enter the new name. UserFile, Email and EmailFiles will
  582.     be updated.  This function may also be accessed from within BBBBS.
  583.  
  584. bbsREPORT.rexx - Constructs a report of inactive users and saves it as
  585.     email to sysop. NOTE: If "VIP_USER" appears on the user-data line that
  586.     contains the excluded libraries, that user will be excluded from the
  587.     list of inactive users. If a file report is requested, the file libs
  588.     will be counted and searched for possible problems. This entire report
  589.     is run as a background process thru the AREXX port and the resulting
  590.     archive left as email with an attached file.
  591.  
  592. BBBBSdemon.baud - Runs independently of BBBBS.baud and looks for a
  593.     condition where there is no user online, but BBBBS hasn't reset, and
  594.     tries to fix it. If it fails to fix it after a few tries then c:boot
  595.     is run. If c:boot does not exist, the demon runs "c:hi" which tries to
  596.     halt all currently running rexx programs.
  597.  
  598. OldEmail.rexx - Run from CLI to list Email (and emailfiles) older than a
  599.     given number of days. Output may be redirected to a file. The sysop is
  600.     also given the chance to delete each selected email or emailfile.
  601.  
  602.  
  603.            ------- Internal Macros run ONLY by BBBBS --------
  604.  
  605.   bbsALPHA.rexx - Controls the archiving of the alpha filelist. If a
  606.      name and path is given for an arcfile, "Lists/Files.ALPHA" will
  607.      be archived into it using the archiver in the config file.
  608.  
  609.   bbsMaint.baud - Runs if the current messages online exceed the maximum
  610.      set in "CONFIG.BBS". Deletes the oldest messages that don't have the
  611.      "SaveMe!" flag set (2 exclamation points as the first 2 characters).
  612.  
  613.   doorDemon.baud - Runs while the user is running a rexx door program.
  614.      Checks carrier for hangups and time elapsed. More infomation below.
  615.  
  616.   ArcMsgs.rexx - Archives new (or selected) messages from the conference
  617.      area using Lharc. This is done as a background process using the AREXX
  618.      port, and the resulting archive left as email with an attached file.
  619.  
  620.   MakeBroweList.baud - Archives user selected file descriptions using
  621.      Lharc. This is done as a background process using the AREXX port,
  622.      and the resulting archive left as email with an attached file.
  623.  
  624.   bbsHourly.rexx - graphic display of average minutes of use hour by hour.
  625.  
  626.   Contents.rexx - Display the contents of an archived file
  627.      (.arc .dms .lha .lzh .zip .zoo) assuming appropriate c: programs.
  628.  
  629.   bbsExtDL.baud - Allows access to CD-ROM drives, extra floppies,
  630.      harddrives, partitions, or just assigned areas to be treated as
  631.      "Read-Only" devices.
  632.      Enter a space separated device list on line 10 of CONFIG.BBS.
  633.      Devices on this list are handled separately from the rest of the BBS
  634.       file libraries, and do not have filenotes, unless they are referenced
  635.       using "links" (see below).
  636.  
  637.   bbsNewFile.rexx - If activated, automatically makes an archive copy of
  638.      each file uploaded to the BBS and sets the archive bit of the file
  639.      in the library. TO ACTIVATE this feature, put bbsNewFile.rexx into
  640.      a text editor and replace "NO_DIR:" with a valid pathname.
  641.  
  642.  
  643.  
  644. *****************************  rexxDoors  ****************************
  645.  
  646. rexxDoors:
  647.  
  648. Almost ANY rexx program that uses NO GRAPHICS OTHER THAN CHARACTERS can
  649. be easily made into a rexxDoors program. Just add these lines at the top:
  650.  
  651.     CR="0D"x
  652.     SIGNAL ON BREAK_C
  653.     SIGNAL ON BREAK_E
  654.  
  655. and these lines at the bottom, just before the main RETURN or EXIT:
  656.  
  657.     BREAK_C:
  658.     BREAK_E:
  659.  /* <-- might put "SetClip('BBS_winnings',winnings)" routine here */
  660.     EXIT;
  661.  
  662. and lastly, search the text for all instances of "SAY" and add "||CR" to
  663. the END of each SAY command.
  664.   SAY 'Here we go.' becomes SAY 'Here we go.'CR or SAY 'Here we go.'||CR
  665.  
  666. If you want the rexxDoor to check for a disconnect, you can call the
  667. following subroutine periodically, ie, IF checkdcd() THEN SIGNAL BREAK_C
  668.              checkdcd:
  669.              IF ADDRESS()~='BAUD' THEN RETURN 0
  670.              dcd
  671.              IF RC=0 THEN RETURN 1
  672.              RETURN 0
  673.  
  674. Any "PULL" commands in the rexx script will take input from the user,
  675. and any "SAY" commands will be sent out the modem.
  676.  
  677. All rexxDoors programs are sent the user name and his "winnings" as the
  678. command argument. ie,
  679.  
  680.        doorprogram.rexx(name winnings 0_or_seconds colorflag)
  681.  
  682. If cash_or_seconds=0, then we are playing for play-money cash (which is
  683. remembered from session to session). If cash_or_seconds>0 then the user
  684. is playing for the seconds remaining in this session. There is no
  685. requirement that the rexxDoors program use ANY of these arguments. If
  686. the rexxDoors program should return a "winnings" amount, it should do a
  687. "CALL SETCLIP('BBS_winnings',winnings)" before it returns.
  688.  
  689. rexxDoors can also connect non-rexx programs to the BBS.
  690.   1. Program must output ONLY to the CLI. (no graphics, no windows, etc.)
  691.   2. Then write a little program like this and put it in rexxDoors. Note
  692. that in this example, the Dungeon files have been put in a drawer within
  693. the rexxDoors drawer, rexxDoors/Data. This location is arbitrary.
  694.  
  695. -----------------------------cut-here----------------------------------
  696.  
  697. /* Dungeon.rexx  - starts up AmigaDungeon with redirects */
  698.  
  699. LF='0A'x
  700. CR='0D'x
  701. bbspath=GETCLIP('BBS_path')
  702.  
  703. PARSE ARG name winnings flag colorflag .
  704.  
  705. /* give any addition information needed by the user */
  706.  
  707. SAY CR
  708. SAY 'Your terminal should add a carraige-return to each received linefeed.'CR
  709. SAY CR
  710. SAY '            No carraige-returns are generated by Dungeon!'CR
  711. SAY CR
  712. SAY 'Enter INFO for general game information. Enter HELP for help and hints.'CR
  713. SAY CR
  714. SAY '       Loading...  Please wait for prompt character > to appear.'CR
  715. SAY CR
  716.  
  717. /* point this macro at the Dungeons drawer so that Dungeon can find its data */
  718. /* This may or may not be necessary for your particular application. */
  719.  
  720. CALL PRAGMA('D',bbspath'rexxDoors/Data')
  721.  
  722. /* Run the game, redirecting input and output to the console (BaudBandit) */
  723.  
  724. ADDRESS COMMAND 'CD' bbspath'rexxDoors/Data'LF'dungeon <* >*'
  725.  
  726. EXIT;
  727.  
  728. /* end of Dungeon.rexx */
  729.  
  730. -----------------------------cut-here----------------------------------
  731.  
  732. NOTE:
  733. Although the game program is now in control, if the user exceeds his time,
  734. or hangs up, a program that is running in the background, bbsDEMON.baud,
  735. will send a BREAK (CTRL-C) to the game, and a "go to logout" to the BBS.
  736. If your game won't stop when it gets a CTRL-C, you'll have to rewrite the
  737. DEMON to send "QUIT" or whatever magic your game requires.
  738.  
  739.  
  740.  
  741.  
  742. *******************************   Misc   *****************************
  743.  
  744. REXXSPELL:
  745.  
  746. To use RxSpell (SpellBBS.lzh) with BBBBS, simply set the proper path
  747. and turn on spellchecking in CONFIG.BBS. You must have plenty of RAM
  748. to use spellchecking as it may use 3-500k all by itself. On the other
  749. hand, it's fairly fast once it is all been loaded.
  750.  
  751.  
  752. Download/Upload Ratio:  User data line 17, Word 1    -  0=DISABLED
  753.  
  754.    Example: 5 means user will be refused downloading if
  755.        DownloadBytes divided by UploadBytes exceeds 5.0,
  756.        and bbs_preferences has Down/Upload Ratios set to ON (1).
  757.  
  758.  
  759.  
  760.  
  761. FILE LISTS:
  762.  
  763.   If you feel you really MUST get in there and futz around with a file,
  764. remember this. Changes in a file or filenote can effect _5_ different
  765. files (at least). The file itself (say, "BBS_LIBS/Text/MyPoem.lzh"),
  766. the filenote ("FileNotes/Text/MyPoem.lzh"), the general filelist (this
  767. file, "Lists/Files", is VERY important to the system!), the alphabetical
  768. list ("Lists/File.ALPHA"), and the upload counter ("Numbers/LastFile").
  769. It is best to do file maintenance from within the BBS and let the
  770. software worry about what files need changing and rearranging.
  771.  
  772.  
  773.  
  774.  
  775. LINKS:
  776.  
  777.    To add a file to the libraries that will be located somewhere other
  778. than the normal BBS_LIBS...
  779.  
  780. 1. "Point" BBBBS at the appropriate library by entering the library
  781. number (BBBBS will try to show new files. When it is thru, the current
  782. library will be the one you picked).
  783.  
  784. 2. Attempt to edit a filenote using the "%" command, and the name of
  785. the file you wish to add. When asked if this file is "on another device?"
  786. answer "Y" and enter the FULL path and filename for the file. This "link"
  787. is stored in the filecomment of the description.
  788.  
  789. 3. Now this file will be treated as if it is in the libraries, stats will
  790. be kept on it, etc., but it will be downloaded from the link path.
  791.  
  792.  
  793. You can also move a file already in the BBS_LIBS to another device.
  794. Handy when the only way to expand your BBS is to purchase a second HD,
  795. or perhaps redirect some of the filelist to a CD-ROM, Tape-Drive, etc.
  796.  
  797. 1. move the file, but not the filenote.
  798.  
  799. 2. use the C:FileNote command to enter the new path to the old file in
  800.     the comment field of the file description. Use the *full* name, ie
  801.  
  802. C:FileNote BBS:FileNotes/Text/Thisfile.lha "HD2:Overflow/Text/Thisfile.lha"
  803.  
  804. Note that the file report will tell you to compare files and filenotes
  805. in that directory, but won't list a filename, as it does for files that
  806. don't have filenotes yet. Just ignore it.
  807.  
  808.  
  809.  
  810.  
  811. BIRTHDAYS:
  812.  
  813.    Each user is supposed (but not required) to enter his birthday when
  814. filling out the application for membership. This is used in computing
  815. the age of the average BBS user. In addition, if the user calls BBBBS
  816. on his birthday, she will see a simple birthday greeting. If a textfile
  817. called "BBS_TEXT/BIRTHDAY" exists, that file will also be displayed.
  818.  
  819.  
  820. ***********************  end of BBBBS.doc  ****************************
  821.